/*
 * DTDSimpleRule.h
 *
 *  Created on: 29 mars 2011
 *      Author: gdoussin
 */

#ifndef DTDSIMPLERULE_H_
#define DTDSIMPLERULE_H_

#include <string>
#include <vector>
#include "../commun.h"
#include "DTDRule.h"

class DTDSimpleRule : public DTDRule
{
	protected :
		/**
		 * L'élèment sur lequel la règle s'applique
		 */
		std::string name;

	public:
		DTDSimpleRule(std::string name, Tcardinality cardinality = CARD_NONE);

		/**
		* Exporte le noeud sous forme de chaîne de caractère
		*/
		std::string toString();

		/**
		 * Fonction de validation de la regle
		 * Renvoie true si les balises sont valides par rapport à la regle, faux
		 * 	 sinon.
		 */
		bool isValid(std::vector< std::string > balises);

		/**
		 * Renvoie name de la règle.
		 */
		std::string getName();
};

#endif /* DTDSIMPLERULE_H_ */
